home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er 1993 January
/
64er_Magazin_93-01_1993_Markt__Technik_de.d64
/
magische quadr.
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-10-26
|
831b
|
20 lines
0 input"[147]groesse";l:dima%(l,l):gosub5:s=l*(l*l+1)/2:input"ga";g:input"sa";t
1 input"name";n$:a=len(str$(l*l)):ifg=3thena=3:r$(1)="[144]":r$(.)=""
2 print"[147]":open1,g,t,n$:cmd1:l$=" ":fory=1tol:forx=1tol:printr$(x+yand1);
3 printright$(l$+str$(a%(x,y)),a);:next:print:next:print:print"summe:"s
4 print#1,"";:close1:end:data1,1,,,1,1,,,,,1,1,,,1,1
5 poke53280,12:poke53281,12:ifl/2>int(l/2)then14
6 forx=.to3:fory=.to3:reada(x,y):next:next:ifl/4>int(l/4)then9
7 forx=1tol:fory=1tol:a%(x,y)=x+y*l-l:ifa(xand3,yand3)thena%(x,y)=l*l+1-a%(x,y)
8 next:next:return
9 l=l/2:gosub5:forx=1tol:fory=1tol:a%(x+l,y+l)=a%(x,y)+l*l
10 a%(x+l,y)=a%(x,y)+2*l*l:a%(x,y+l)=a%(x,y)+3*l*l:next:next:fory=1tol
11 forx=1tol/2-.5:gosub13:next:ifl>3thenforx=1.5*l+2.5to2*l:gosub13:next
12 next:y=l/2+.5:x=1:gosub13:x=y:gosub13:l=l+l:return
13 h=a%(x,y):a%(x,y)=a%(x,y+l):a%(x,y+l)=h:return
14 x=l/2+.5:y=l/2-.5:w=1
15 a%(x,y)=w:x=x+1:y=y-1:ifx=l+1andy=.thenx=l:y=l-1
16 x=x+l*(x>l):y=y-l*(y<1):ifa%(x,y)theny=y-1-l*(y<2):x=x-1
17 w=w+1:ifw>l*lthenreturn
18 goto15